package com.zhuiyun.project.api.system.businesPost.service;

import com.zhuiyun.project.api.system.businesPost.entity.SysPost;
import com.zhuiyun.project.common.response.CommonResult;
import com.zhuiyun.project.utils.pageUtil.PageRequest;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @ClassName SysBusinesPost
 * @Description TODO 租户岗位管理 服务层
 * @Author wx
 * @Date 2023/12/6 15:39
 **/
public interface SysBusinesPostService {
    /**
     * @Author wx
     * @Description 获取岗位列表
     * @Date 2023/12/6 15:47
     * @Return
     * @param post
     */
    CommonResult selectPostList(SysPost post, PageRequest pageRequest);

    /**
    * @Author wx
    * @Description 查询岗位名称是否存在
    * @Date 2023/12/6 16:02
    * @Return
    * @param post
    */
    boolean checkPostNameUnique(SysPost post);

    /**
    * @Author wx
    * @Description 查询岗位编号是否存在
    * @Date 2023/12/6 16:05
    * @Return
    * @param post
    */
    boolean checkPostCodeUnique(SysPost post);

    /**
    * @Author wx
    * @Description 新增岗位信息
    * @Date 2023/12/6 16:08
    * @Return
    * @param post
    */
    int insertPost(SysPost post);

    /**
     * @Author wx
     * @Description 根据岗位编号获取详细信息
     * @Date 2023/12/6 16:15
     * @Return
     * @param postId
     */
    SysPost selectPostById(Long postId, String venueUniqueIdentifier);

    /**
    * @Author wx
    * @Description 修改岗位信息
    * @Date 2023/12/6 16:23
    * @Return
    * @param post
    */
    int updatePost(SysPost post);

    /**
     * @Author wx
     * @Description 删除岗位
     * @Date 2023/12/6 16:27
     * @Return
     * @param postIds
     */
    int deletePostByIds(Long[] postIds,String venueUniqueIdentifier);

    /**
    * @Author wx
    * @Description 查询所有岗位
    * @Date 2023/12/8 8:31
    * @Return
    * @param venueUniqueIdentifier
    */
    List<SysPost> selectPostAll(String  venueUniqueIdentifier);

    /**
    * @Author wx
    * @Description 根据id获取岗位选择列表
    * @Date 2023/12/8 8:46
    * @Return
    * @param userId
    */
    List<Long> selectPostListByUserId(long userId,String venueUniqueIdentifier);
}
